package com.sqfw.framework.task;

import com.sqfw.common.utils.DateUtils;
import com.sqfw.project.taskForXml.service.TaskForXmlService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 定时查询数据，生成xml文件，通过ftp上传到大数据
 * 该定时任务具体的实现在:dev-taskForXml分支上
 *
 * @author tangxt
 * @date 2024-03-21
 */
@Slf4j
@Component("forXmlTask")
public class ForXmlTask {

    @Value("${server.port}")
    private String port;

    /** 只允许这个端口的项目执行 */
    private static final String POST_10084 = "10084";

    @Autowired
    private TaskForXmlService taskForXmlService;

    /**
     * 每天2点执行
     * 查询录音表昨天的数据，转换成xml，通过ftp上传给大数据
     * 录音表--返回参数不一样
     * */
    public void synZjRecordInfo(String createTime) {
        if (!POST_10084.equals(port)) {
            return;
        }
//        taskForXmlService.taskForXmlZjRecordInfo();
    }

    /**
     * 每天2点执行
     * 查询回访表昨天的数据，转换成xml，通过ftp上传给大数据
     * 回访表
     * */
    public void synWpVisitInfo(String visitTime) {
        if (!POST_10084.equals(port)) {
            return;
        }
//        taskForXmlService.taskForXmlWpVisitInfo();
    }

    /**
     * 每天2点执行
     * 查询工单轨迹表昨天的数据，转换成xml，通过ftp上传给大数据
     * 工单轨迹表
     * */
    public void synWpHandleLog(String updateTime) {
        if (!POST_10084.equals(port)) {
            return;
        }
//        taskForXmlService.taskForXmlWpHandleLog();
    }

    /**
     * 每天2点执行
     * 查询回访表昨天的数据，转换成xml，通过ftp上传给大数据
     * 回访表--返回参数不一样
     * */
//    public void synWpVisitInfo2() {
//        if (!POST_10084.equals(port)) {
//            return;
//        }
//        taskForXmlService.taskForXmlWpVisitInfo2();
//    }

    /**
     * 每天2点执行
     * 查询工单表昨天的数据，转换成xml，通过ftp上传给大数据
     * 工单表
     * */
    public void synWpInfo(String starttime) {
        if (!POST_10084.equals(port)) {
            return;
        }
//        taskForXmlService.taskForXmlWpInfo();
    }

    /**
     * 每天2点执行
     * 查询录音表昨天的数据，转换成xml，通过ftp上传给大数据
     * 录音表--返回参数不一样
     * */
//    public void synZjRecordInfo2() {
//        if (!POST_10084.equals(port)) {
//            return;
//        }
//        taskForXmlService.taskForXmlZjRecordInfo2();
//    }

    /**
     * 每天2点半和3点执行
     * 检查今天ftp上传文件是否成功，没有成功再次上传
     * */
    public void checkUploadFile() {
        if (!POST_10084.equals(port)) {
            return;
        }
        taskForXmlService.checkUploadFile(DateUtils.getDate() + " 00:00:00");
    }


    /**
     * 每个月1号执行
     * deleteOriginFile
     * 删除三个月前，在本地服务上的文件
     * */
//    public void deleteOriginFile() {
//        if (!POST_10084.equals(port)) {
//            return;
//        }
//        // 删除三个月前， 本地服务器上的上传文件
//        Date date = DateUtils.plusOrMinusMonth(new Date(), -3);
//        taskForXmlService.deleteOriginFile(date);
//    }

}
